package com.csx.saas.platform.init.dto;

import com.csx.saas.platform.init.enumeration.InitServiceStateEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * 实体类
 * 服务
 * </p>
 *
 * @author ChenSongXin
 * @since 2021-02-28
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
@Builder
@ApiModel(value = "InitServiceSaveDTO", description = "服务")
public class InitServiceSaveDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 服务编号
     */
    @ApiModelProperty(value = "服务编号")
    @Length(max = 20, message = "服务编号长度不能超过20")
    private String serviceNbr;
    /**
     * 服务名称
     */
    @ApiModelProperty(value = "服务名称")
    @Length(max = 50, message = "服务名称长度不能超过50")
    private String serviceName;
    /**
     * 服务Icon图
     */
    @ApiModelProperty(value = "服务Icon图")
    @Length(max = 255, message = "服务Icon图长度不能超过255")
    private String serviceIcon;
    /**
     * 服务的主图
     */
    @ApiModelProperty(value = "服务的主图")
    @Length(max = 255, message = "服务的主图长度不能超过255")
    private String serviceLogo;
    /**
     * 服务原价
     */
    @ApiModelProperty(value = "服务原价")
    private BigDecimal serviceOriginalPrice;
    /**
     * 服务当前销售价
     */
    @ApiModelProperty(value = "服务当前销售价")
    private BigDecimal servicePrice;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    @Length(max = 255, message = "备注长度不能超过255")
    private String remark;
    /**
     * 描述
     */
    @ApiModelProperty(value = "描述")
    @Length(max = 65535, message = "描述长度不能超过65,535")
    private String describe;
    /**
     * 状态\n#{ENABLE:启用;DISABLE:禁用;}
     */
    @ApiModelProperty(value = "状态\n#{ENABLE:启用;DISABLE:禁用;}")
    private InitServiceStateEnum state;
    /**
     * 排序
     */
    @ApiModelProperty(value = "排序")
    private Integer sortValue;
    /**
     * 服务链接
     */
    @ApiModelProperty(value = "服务链接")
    @Length(max = 255, message = "服务链接长度不能超过255")
    private String linkUrl;

}
